CC = gcc 
AR = ar
CFLAGS = -I./lib
LIB_DIR = lib
OBJ_DIR = $(LIB_DIR)
TARGET = main
LIBRARY = $(LIB_DIR)/libcal.a

# 目标文件
OBJ = $(OBJ_DIR)/cal.o

# 默认目标
all: $(LIBRARY) $(TARGET)

# 生成静态库
$(LIBRARY): $(OBJ)
	$(AR) rcs $@ $^

# 生成可执行文件
$(TARGET): main.o $(LIBRARY)
	$(CC) -o $@ $^ -L$(LIB_DIR) -lcal

# 编译源文件
main.o: main.c
	$(CC) -c $< $(CFLAGS)

$(OBJ_DIR)/%.o: $(OBJ_DIR)/%.c
	$(CC) -c $< $(CFLAGS) -o $@

# 伪目标 clean
.PHONY: clean
clean:
	rm -f $(OBJ_DIR)/*.o $(TARGET) $(LIBRARY)

